1. Field of the Invention
The invention relates generally to network synchronization and more particularly to a method and apparatus using an unconnected page and a later instance of communication traffic for synchronizing with a communication network without joining the network.
2. Description of the Prior Art
Many system standards have been developed for communication. One such system standard is known as BLUETOOTH. BLUETOOTH is a short range radio system operating in the unlicensed 2.4 GHz Industrial Scientific Medical (ISM) band using frequency hopping spread spectrum signals. The spread spectrum signals enable the system to minimize fading and reduce interference between users. The BLUETOOTH spread spectrum is designed to meet parts 15 and 18 of the Federal Communications Commission (FCC) regulations in the United States and the regulations of other regulatory agencies in other countries. The BLUETOOTH signal uses seventy-nine or twenty-three frequency hopping channels depending upon the country of operation. At any one instant of time, the signal is transmitted in a single one of the channels. Each channel has a bandwidth of one megahertz. The channels succeed each other in a pseudo-random channel hopping sequence specified by a BLUETOOTH system standard. Each successive frequency channel corresponds to a phase or time slot of the pseudo-random sequence.
A BLUETOOTH system network known as a piconet includes a single master device and up to seven active slave devices. The network topology is referred to as a star because all communication involves the master device. Slave to slave communication is not allowed. Another BLUETOOTH network, known as a private network, uses only a single master device and a single active slave device. Typically, the private master and slave devices work with a limited subset of the BLUETOOTH protocol and are provided by a manufacturer as a set.
FIG. 1A shows a time line of communication traffic exchange in a BLUETOOTH network. Packets of information are exchanged between the master device and a selected slave device using time division duplex (TDD) with alternating master (master TX) and slave (slave TX) transmissions. Communication traffic is partitioned into time slots 625 microseconds in length for each frequency channel. Every other time slot is considered to be a master time slot. In the master time slot, the master device can transmit a master data packet addressed to a particular slave device. In the following time slot, the addressed slave device may respond to the master data packet by transmitting a slave data packet back to the master device. Transmissions in successive time slots occur on sequential frequency channels in a pseudo-random sequence shown in FIG. 1A in an exemplary manner as channels 79, 03, 06, 47, 18, 02, 17, and 61. The frequency channels are mapped to specific ISM band frequencies by adding a constant offset frequency that is specific to a region. In the United States and most of Europe the offset is 2402 megahertz.
FIG. 1B shows a simplified block diagram for a BLUETOOTH device having a hop sequence generator. Both the master and the slave devices compute the successive channels from a BLUETOOTH system clock time maintained in the master device and the address identification of the master device. In order to follow the frequency hopping sequence of a particular piconet, a slave device must know both the master address and the precise system clock time. The hop sequence generators in the master and slave devices compute the frequency channels for the communication traffic from 24 bits of a 48-bit IEEE address of the master device and a 28-bit system clock time. In addition the timing of the frequency hops is based upon the system clock time. The master clock is a free running counter that increments each 312.5 microseconds (3200 Hz) or one-half of a time slot. Packet data sent in a BLUETOOTH format is scrambled through a linear feedback shift register based on the BLUETOOTH clock to reduce DC bias and improve security of the information in the data packets.
Several modes are described in the BLUETOOTH system specification. The communication traffic mode is the normal operational mode for communication between the master and slave devices that are joined or connected in the network. Modes for inquiry, inquiry scan, and inquiry response are used in a who-is-there protocol for identifying BLUETOOTH devices that are within signal range. In the inquiry mode an inquiry is broadcast on frequency hopping channels of an inquiry sequence. A recipient BLUETOOTH device is induced by the inquiry to respond with an inquiry response having the address of the recipient device and the recipient device clock time on frequency hopping channels based upon the frequency channel of the inquiry. Inquiry scan is a mode for listening for an inquiry from a BLUETOOTH device on frequency hopping inquiry listen channels in an inquiry scan sequence.
Modes for page, page scan, page response, master page frequency hop synchronization (FHS), and slave page FHS response are used for synchronizing and connecting the devices. A page from a master device starts a paging handshake by transmitting an address identification of a device being paged on frequency hopping page transmit channels of a paging sequence. Page scan is a mode for listening on frequency hopping page listen channels of a page scan sequence for a page having the listener""s address identification. Page response is a mode for responding to the page on page response channels based upon the page transmit channels. Master page FHS is a mode for responding to the page response by transmitting an FHS signal on the next frequency hopping channel in the paging sequence. Slave page FHS response is a mode for connecting to the network by responding to the master page FHS response.
FIG. 2A shows a time line of the operation of the master and slave devices during page and inquiry modes. In order to page a slave device, the master device alternately transmits (TX) pages on two successive frequency channels and then listens (LX) on two successive frequency channels for page responses. The page time period for each channel is 312.5 microseconds or one-half the normal time slot period of 625 microseconds. The slave device in page scan mode listens for the pages on successive page listen channels (LX scan k and LX scan k+1) of a page scan sequence with a time period of 1.28 seconds for each channel until a page is recognized.
FIG. 2B shows a time line of the paging sequence for the master device when the paged slave device responds to the page. The master device transmits (TX) pages in successive page transmit channels and listens (LX) for a page response in a paging sequence. When the page response is received, the master device responds by transmitting an FHS packet (TX FHS) containing both the address of the master device and the 26 most significant bits (MSB)s of the 28 bits of the system clock time on the next channel of the paging sequence. The slave device then resolves the 2 least significant bits (LSB)s of the master time clock from the time-of-arrival of the FHS packet. The slave device now has all the information it needs for determining the channels and timing of the frequency hopping sequence and participating in communication traffic. At this point, the slave device joins the network by responding to the FHS packet.
An inquiry is similar to a page in that an inquiring device transmits inquiries on successive frequency channels in an inquiry sequence and then listens on corresponding frequency channels for inquiry responses with time periods for each channel of 312.5 microseconds. A device in inquiry scan mode listens for the inquiries on successive channels of an inquiry scan sequence with a time period of 1.28 seconds for each channel until an inquiry is recognized. When the device in inquiry scan mode recognizes the inquiry it responds by transmitting an FHS packet having its address and the 26 MSB bits of the 28 bits of its own clock time. However, a major distinction between a page and an inquiry is that the time-of-transmission of the master page FHS packet for a page is based upon the system clock time whereas the time-of-transmission of the FHS packet for an inquiry is based upon the local clock time of the inquiring device. As a result of this distinction, existing BLUETOOTH devices use paging but not inquiry for determining the system clock time for synchronizing to the network. A second major distinction is that a page is always initiated by a master device whereas an inquiry may be initiated by any BLUETOOTH device having inquiry capability. A third major distinction is that the FHS packet for a page carries coarse system clock time whereas the FHS packet for an inquiry carries coarse clock time for whatever device responds to the inquiry.
A more complete description of the BLUETOOTH system is available in the specification volume 1, xe2x80x9cSpecification of the Bluetooth Systemxe2x80x94Corexe2x80x9d v1.0 B published Dec. 1, 1999, and the specification volume 2, xe2x80x9cSpecification of the Bluetooth Systemxe2x80x94Profilesxe2x80x9d v1.0 B published Dec. 1, 1999, both under document no. 1.C.47/1.0 B. The volume 1 core specification specifies the radio, baseband, link manager, service discovery protocol, transport layer, and interoperability with different communications protocols. The volume 2 profiles specification specifies the protocols and procedures required for different types of BLUETOOTH applications. Both volumes are available on-line at www.bluetooth.com or through the offices of Telefonaktiebolaget LM Ericsson of Sweden, International Business Machines Corporation, Intel Corporation of the United States of America, Nokia Corporation of Finland, and Toshiba of Japan.
In order to synchronize to BLUETOOTH communication traffic packets for measurement and analysis purposes it would be relatively straightforward for an analyzer to use the paging process to join the piconet as a test slave device. However, this approach has several disadvantages. First, by joining the piconet the analyzer changes the piconet. A question can then arise as to whether the communication traffic pattern on the piconet was affected by the presence of the analyzer. Second, the analyzer would necessarily use one of the active slave positions in the piconet. Where all of the up seven slave positions were being used, the connection of the analyzer would prevent one of the slaves from being connected. This might be inconvenient and it would certainly change the network being tested. Worse still, in a private network having only a single master and single operational slave, the analyzer would replace either the master or the single active slave, thereby making it impossible to observe actual communication traffic between the master and the slave device.
In general, it is desirable that a protocol analyzer monitor message traffic for measurement and analysis on a link without joining or interfering with the operation of the link. With regard to a BLUETOOTH network, this means that a protocol analyzer should be able to follow all the traffic in a piconet without replacing the master or any of the operational slaves, or participating in the piconet in any way as either a master of a slave device. However, in order to monitor traffic on a BLUETOOTH link, a protocol analyzer needs to know the system clock time for the piconet. Unfortunately, the BLUETOOTH system protocol specification does not make any provision for acquiring this clock time except by joining and participating in the piconet. Therefore, there is a need for system that goes beyond the BLUETOOTH specification for non-intrusive test and measurement of a BLUETOOTH link.
It is therefore an object of the present invention to provide an apparatus and a method using an unconnected page and a later instance of communication traffic for synchronizing to a channel hopping sequence of a communication network without joining the network. This and other objects of the present invention will no doubt become obvious to those of ordinary skill in the art after having read the following summary and detailed description and viewing the figures illustrating the preferred embodiments.
Briefly, in a preferred embodiment, the present invention is a method and apparatus for synchronizing with communication traffic during time slots on channels in a channel hopping sequence on a network connecting a master device and slave devices. The timing and sequence of the channels of the communication traffic are synchronized to a system clock time that is maintained by the master device. The apparatus or analyzer of the present invention synchronizes to the communication traffic by obtaining a preliminary or unconnected system clock time from a master page frequency hop synchronization (FHS) packet from the master device when the master and slave devices are not connected by pretending to be an unconnected slave device and simulating or mimicking up to the point of connection the paging protocol for a legitimate slave device. Then, after a connection is formed between the master device and a legitimate slave device, the apparatus of the present invention updates the unconnected system clock time to a connected system clock time with a time-of-arrival of a communication traffic packet from the master device to the slave device.
In a method of a preferred embodiment of the present invention the master device is instructed to page the apparatus of the present invention. The apparatus and the master device-handshake and then the master device transmits a master page FHS packet having the system clock time. The system clock time in the master page FHS is treated by the apparatus as a preliminary system clock time. The apparatus does not respond to the master page FHS, thereby avoiding the formation of a network connection. The apparatus uses the preliminary system clock time for stepping through the channel hopping sequence in channel steps of a channel advance number while listening for communication traffic on the network. For each channel step the apparatus tunes for a scan window time period having a duration of a number of time slots, termed a time slot scan number. Then, the master device is instructed to page a slave device. The slave device connects with the master device by handshaking and then responding to the master page FHS. The master and slave devices are now in a condition for exchanging communication traffic. When the apparatus receives an instance of communication traffic packet on one of the channel steps, it uses the time-of-arrival of the packet for correcting or updating the preliminary system clock time for synchronizing to the system clock time maintained by the master device. The channel advance number and the time slot scan number are at least two and may be much greater depending upon and increasing with an allowance for clock time drift between the preliminary system clock time maintained in the apparatus and the real system clock time maintained by the master device. Preferably, the channel advance number and the time slot scan number are the same and are a number that is two to an integer power.
Although the preferred embodiments are described in terms of a BLUETOOTH system network, the present invention is applicable to other system networks using distinguishable channels in channel hopping sequences. The distinguishable channels may be implemented with frequencies, codes, time allocations, polarities, or any other distinguishing features alone or in combination.